package zhongbo.java.air.monitor.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 说明：
 * <p>
 * 在monitor模块创建AirAlertLog并实现crud(含分页)
 *
 * @author 钟波dellNotebook
 * @since 2025年04月09日 星期三 06:13:30
 */
@ApiModel("告警日志记录")
@TableName("air_alert_log")
@Data
public class AirAlertLog {

    @ApiModelProperty("UUID主键")
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "关联的告警区域ID", example = "7d08a4c3-3d8b-4f5a-9b1c")
    private String alertZoneId;

    @ApiModelProperty(value = "ICAO地址码", example = "7800A8")
    private String icaoCode;
    @ApiModelProperty(value = "警戒区域编号", example = "BJ_NOFLY_001")
    private String alertZoneCode;

    @ApiModelProperty(value = "告警类型（继承区域类型）", example = "NO_FLY", notes = "拷贝过来")
    private String alertType;

    @ApiModelProperty(value = "触发时坐标（JSON格式：{\"lon\":116.3,\"lat\":39.9}）")
    private String triggerCoordinates;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS", timezone = "GMT+8")
    @ApiModelProperty("告警触发时间")
    private Date triggerTime;

    @ApiModelProperty(value = "处理状态（0-未处理 1-已确认 2-已解除）", example = "0", notes = "直接用文本, 中文")
    private String status;

    @ApiModelProperty("处理人ID（关联用户表）")
    private String processedBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS", timezone = "GMT+8")
    @ApiModelProperty("处理时间")
    private Date processTime;

    @ApiModelProperty("处理说明")
    private String processComment;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS", timezone = "GMT+8")
    @ApiModelProperty("创建时间")
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS", timezone = "GMT+8")
    @ApiModelProperty("更新时间")
    private Date updateTime;

}